There have been several previously proposed methods for detecting when a certain event or action occurs within an animation. For example, a prior approach to detecting when, during an animation of a virtual animal, that animal places a foot on the ground (i.e. a footfall), involves simply checking the height and speed of that foot. However, such a method is often very sensitive to noisy or imperfect animation data.
Some prior approaches require a large computer learning process to allow a computer to classify event occurrences. However, they suffer from not being able to generalise the event detection to more arbitrary animation objects. Other prior approaches require a large amount of input from a user to manually input tolerances or to label a large number of animation frames in order to be able to detect events.